package one.stand.util;

import java.util.HashMap;
import java.util.Map;

/**
 * @author cjr
 */
public class SpecialSymbolsUtil {
    //上标
    public final static Map<String, String> supMap = new HashMap();

    static {
        supMap.put("℡", "TEL");
        supMap.put("™", "TM");
        supMap.put("⁽", "(");
        supMap.put("⁾", ")");
        supMap.put("⁰", "0");
        supMap.put("¹", "1");
        supMap.put("²", "2");
        supMap.put("³", "3");
        supMap.put("⁴", "4");
        supMap.put("⁵", "5");
        supMap.put("⁶", "6");
        supMap.put("⁷", "7");
        supMap.put("⁸", "8");
        supMap.put("⁹", "9");
        supMap.put("⁻", "-");
        supMap.put("⁼", "=");
        supMap.put("ʷ", "w");
        supMap.put("ˣ", "x");
        supMap.put("ʸ", "y");
        supMap.put("ᶻ", "z");
        supMap.put("⁺", "+");
        supMap.put("ᵗ", "t");
        supMap.put("ᵘ", "u");
        supMap.put("ᵛ", "v");
        supMap.put("ˡ", "l");
        supMap.put("ᵐ", "m");
        supMap.put("ⁿ", "n");
        supMap.put("ᵒ", "o");
        supMap.put("ᵖ", "p");
        supMap.put("ʳ", "r");
        supMap.put("ˢ", "s");
        supMap.put("ᵉ", "e");
        supMap.put("ᶠ", "f");
        supMap.put("ᵍ", "g");
        supMap.put("ʰ", "h");
        supMap.put("ⁱ", "i");
        supMap.put("ʲ", "j");
        supMap.put("ᵏ", "k");
        supMap.put("ᵁ", "U");
        supMap.put("ᵂ", "W");
        supMap.put("ᵃ", "a");
        supMap.put("ᵇ", "b");
        supMap.put("ᶜ", "c");
        supMap.put("ᵈ", "d");
        supMap.put("ᴹ", "M");
        supMap.put("ᴺ", "N");
        supMap.put("ᴼ", "O");
        supMap.put("ᴾ", "P");
        supMap.put("ᴿ", "R");
        supMap.put("ᵀ", "T");
        supMap.put("ᴳ", "G");
        supMap.put("ᴴ", "H");
        supMap.put("ᴵ", "I");
        supMap.put("ᴶ", "J");
        supMap.put("ᴷ", "K");
        supMap.put("ᴸ", "L");
        supMap.put("ᴬ", "A");
        supMap.put("ᴮ", "B");
        supMap.put("ᴰ", "D");
        supMap.put("ᴱ", "E");
    }

    //下标
    public final static Map<String, String> subMap = new HashMap();

    static {
        subMap.put("₍", "(");
        subMap.put("₎", ")");
        subMap.put("₌", "=");
        subMap.put("ᵣ", "r");
        subMap.put("ᵤ", "u");
        subMap.put("ᵥ", "v");
        subMap.put("ₓ", "x");
        subMap.put("₊", "+");
        subMap.put("₋", "-");
        subMap.put("₉", "9");
        subMap.put("ₐ", "a");
        subMap.put("ₑ", "e");
        subMap.put("ᵢ", "i");
        subMap.put("ₒ", "o");
        subMap.put("₃", "3");
        subMap.put("₄", "4");
        subMap.put("₅", "5");
        subMap.put("₆", "6");
        subMap.put("₇", "7");
        subMap.put("₈", "8");
        subMap.put("₀", "0");
        subMap.put("₁", "1");
        subMap.put("₂", "2");
    }

    /**
     * @param text : 需要替换的文件
     * @Method replaceSymbols
     * @Author liqingxiao
     * @Version 1.0
     * @Description 替换特殊符号
     * @Return string
     * @Exception
     * @Date 2020/3/30 15:30
     */
    public static String replaceSymbols(String text) {
        for (String o : supMap.keySet()) {
            if (text.contains(o)) {
                text = text.replace(o, supMap.get(o));
            }
        }
        for (String s : subMap.keySet()) {
            if (text.contains(s)) {
                text = text.replace(s, subMap.get(s));
            }
        }
        return text;
    }
}
